Osculating models for predicting the operation of a circuit structure

ABSTRACT

Various techniques and tools are disclosed for providing an osculating model of a circuit, which can be used to more accurately predict the circuit&#39;s operation. The parameters for a general model of the circuit are determined such that the general model matches desired circuit characteristics at one or more points. The parameters for the general model are determined such that the slopes of the general model at those points also match desired circuit characteristics. These determined parameters are used to create an osculating model specific to the circuit. The osculating model of the circuit can be employed to predict the operation of the circuit. Particular implementations of these techniques and tools may be used to predict the timing characteristics of a circuit having a capacitive, inductive, or magnetically-coupled load.

[0001] This application claims priority to provisional U.S. Application No. 60/473,906 filed May 27, 2003, entitled “Osculating Thevenin Model For Predicting Delay And Slew With RC Loading Using Capacitively Characterized Cell Timing Libraries” and naming Bernard N. Sheehan as inventor, which provisional patent application is incorporated entirely herein by reference.

FIELD OF THE INVENTION

[0002] The invention is directed toward generating a specific model for the operation of a circuit from a generic model for the operation of the circuit, and then employing the specific model to estimate one or more operating characteristics of the circuit. Various embodiments of the invention are particularly suited toward employing a specific model for an electronic circuit with resistive-capacitive (RC) loading to determine the delay, output slew and effective capacitance of the electronic circuit.

BACKGROUND OF THE INVENTION

[0003] Microcircuit devices have become commonly used in a variety of products, from automobiles to microwaves to personal computers. As the importance of these devices grows, manufacturers continue to improve these devices. Each year, for example, microcircuit device manufacturers develop new techniques that allow microcircuit devices, such as programmable microprocessors, to be more complex and yet still smaller in size.

[0004] As microcircuit devices become more complex, they also become more difficult to design and test. A conventional microcircuit device, for example, may have many millions of connections, and each connection may cause the microcircuit to operate incorrectly or even fail if the connection is not properly designated. Not only must the connections be properly designated, but the time required for each circuit structure to process or transmit a signal must fall within a desired time constraint. If a circuit structure, such as a transistor gate, takes too long to process a signal, then another circuit structure may not receive the signal in time to operate properly. Similarly, if a circuit structure, such as a wiring line, takes too long to transmit a signal, then another circuit structure may not receive the signal in time to perform its intended task.

[0005] Accordingly, when designing or testing a microcircuit, it is often important to consider the timing characteristics of various structures in the circuit. Ideally, it would be desirable to determine the timing characteristics that each circuit structure would exhibit during actual operation with an input signal, sometimes referred to as Dynamic Timing Analysis (DTA). For a circuit of some complexity, however, calculating the dynamic timing for each circuit structure can be extremely time-consuming and impractical. Circuit designers and testers therefore will often try to calculate the timing characteristics that a circuit structure will exhibit without an input signal, sometimes referred to as Static Timing Analysis (STA).

[0006] For many years, the methodology used to perform Static Timing Analysis treated the electrical loads on a circuit structure as mere lumped capacitors. With the complexity of modern microcircuit devices, however, Static Timing Analysis is now being used to analyze distributed resistive-capacitive (RC) loads, and some versions even account for magnetic coupling and inductance. Typical Static Timing Analysis techniques perform this exacting interconnect analysis using capacitive characterization data for the output of a circuit with a load (hereafter generically referred to as a “cell” for convenience), driver, or active port of a block or subcircuit. More particularly, cell timing values for arbitrary loads are extrapolated from a sequence of measurements or simulations using only capacitive loads. A conventional Static Timing Analysis technique to achieve this extrapolation operates as follows. First, the load circuit or “cell,” however sprawling and complex, is replaced by a single, effective capacitance (referred to as C_(eff)). This value is then used to determine the cell's timing data for capacitive loads. Next, the cell itself is replaced by a Thevenin circuit or other simplified linear model that approximately reproduces the cell's timing behavior at C_(eff). Finally, this proxy Thevenin circuit is used to simulate driving the actual load, and the relevant delays and slews for the proxy Thevenin circuit (and thus ideally for the actual cell) are computed.

[0007] The accuracy of this replacement strategy, however, depends critically on how well the Thevenin model can replicate the cell's timing behavior. With capacitively loaded circuits, for example, resistive shielding often hides some of the load capacitance, causing the effective capacitance used by the analysis process to be inaccurate. Similarly, the inductance of long connection routes may be significant, and yet may not be accounted for in conventional static timing analysis techniques. Accordingly, it would be desirable to provide static time analysis techniques that can more reliably and accurately predict the operating characteristics of a cell.

BRIEF SUMMARY OF THE INVENTION

[0008] Advantageously, various embodiments of the invention provide tools and techniques for creating models that more accurately estimate various characteristics of a cell, such as timing characteristics like the delay and output slew. Some embodiments of the invention, for example, employ a Thevenin model that not only matches a cell's delay and slew at the cell's effective capacitance, but also for capacitive loads in the vicinity of the cell's effective capacitance. Further, various embodiments of the invention may be used to determine the effective capacitance of the cell. Still other embodiments of the invention may used to determine the operating characteristics of circuit structures having inductive or magnetically coupled loads.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009]FIGS. 1A and 1B show a method of creating a specific model for a circuit structure according to various embodiments of the invention.

[0010]FIG. 2 shows a delay and slew prediction tool that may be implemented according to various embodiments of the invention

[0011]FIG. 3 shows a method of determining the delay, output slew and effective capacitance of a cell according to various embodiments of the invention.

[0012]FIG. 4 shows different circuit operating characteristics that share a common output slew.

DETAILED DESCRIPTION OF THE INVENTION

[0013] Overview

[0014] Various embodiments of the invention provide tools and techniques for generating osculating models that describe the operation of a circuit structure. As will be explained in detail below, these tools and techniques may be employed to, for example, predict the timing characteristics of a circuit with a load, such as a capacitively loaded circuit, an inductively loaded circuit, or a circuit with a magnetically-coupled load. As will also be discussed in more detail below, these embodiments of the invention can be used to estimate the effective load of a circuit.

[0015] Advantageously, these embodiments of the invention provide an osculating model of a circuit, which can be used to more accurately predict the circuit's operation. A general process for creating such an osculating model according to various embodiments of the invention is shown in FIG. 1. More particularly, in step 101, a generic model for a cell is obtained. As will be appreciated by those of ordinary skill in the art, a variety of models, such as Thevenin models, are known for modeling the operation of a circuit structure. Next, in step 103, circuit characteristics of the circuit structure being analyzed are obtained. As will be discussed in more detail below, these input circuit characteristics may be simulated values obtained, e.g., from simulating the operation of the circuit structure, measured values obtained from measuring the operation of the circuit structure, or specified values that are selected based upon the design of the circuit structure or upon a desired target operation for the circuit structure.

[0016] In step 105, the parameters for the general model are determined such that the general model matches the corresponding circuit characteristics at one or more points. More particularly, the parameters that define the model are determined such that, when the model has these parameters, the model matches the desired input circuit characteristics at one or more points. Similarly, in step 107, the parameters for the general model are determined such that the slopes of the general model at those points also match or otherwise correspond with the desired input circuit characteristics. That is, the parameters that define the model are determined such that, when the model has these parameters, the slopes of the model at the matching points also match the appropriate circuit characteristics. It should be noted that, with various embodiments of the invention, the order of step 105 and 107 may be reversed. Alternately, these steps may be performed concurrently (i.e., the model parameter values for matching the points and for matching the slopes are simultaneously obtained).

[0017] After the model parameters for matching the model points and slopes have been obtained, these determined parameters are used in step 109 to create an osculating model specific to the circuit structure. Then, in step 111, the osculating model of the circuit structure can be used to predict the operation of the circuit structure. For example, as will now be described in more detail, various embodiments of the invention may be used to predict the timing characteristics of a circuit having a capacitive, inductive, or magnetically-coupled load.

[0018] Delay and Slew Prediction Tool

[0019]FIG. 2 shows a delay and slew prediction tool 201 that may be implemented according to various embodiments of the invention. As seen in this figure, the tool 201 includes an input/output terminal 203, a Thevenin design table generator module 205, and a Thevenin model generator module 207. With various embodiments of the invention, the tool 201 may also include an effective capacitance determination module 209. As will be discussed in more detail below, alternate embodiments of the invention may instead optionally include an effective inductance determination module or an effective magnetic coupling determination module.

[0020] It should be appreciated that one or more of these modules may be implemented by software instructions executing on a programmable computer, such as a personal computer, a mainframe computer, or a collection of two or more computers that are networked together or otherwise in communication with one another. With these embodiments, the instructions may be stored on a medium, such as a solid state memory storage device, a magnetic memory storage device, an optical memory storage device, a punched memory storage device, or any other suitable tangible storage medium. Alternately or additionally, the software instructions may be transmitted from another location. For example, with various embodiments of the invention, the instructions may be transmitted from another computing device or storage location over a hard-wired line, by radio frequency waves, by infrared or other optical waves, or by sonic waves. Still further, various embodiments of the invention may even implement one or more of these modules using analog calculating circuits. Also, with different embodiments of the invention, two or more of these modules may be combined into a single module, or the functions of one or more of these modules may be subdivided into smaller modules. Alternately, various functions for these modules may be rearranged between the modules in any desired manner different from that described in detail below.

[0021] Timing Analysis Process

[0022] Referring now to FIG. 3, to begin a timing analysis process according to various embodiments of the invention, in step 301 the Thevenin design table generator module 205 receives circuit characteristics of a cell to be analyzed from the input/output terminal 203. With some embodiments of the invention, one or more of the circuit characteristics may be measured from the operation of the cell. Alternately or additionally, one or more of the circuit characteristics may be determined from a simulation of the operation of the cell. Still further, with some embodiments of the invention, the circuit characteristics may be manually or automatically selected based upon, e.g., an analysis of the cell's design or a desired target operation for the cell. Various embodiments of the invention may employ any combination of measured, simulated or selected cell characteristics.

[0023] For example, if the delay and slew prediction tool 201 is being used to determine the effective capacitance of a cell, the cell delay, or the output slew of the cell, then the input/output terminal 203 may provide the Thevenin design table generator module 205 with a given operating capacitance C₀, a measured or simulated input slew for the cell, and the values α_(L), α_(D), α_(H) by which the cell's output slew and delay are defined. Each of these circuit characteristics will be discussed in more detail below. As will also be discussed below, one or more of these circuit characteristics may alternately be provided directly by the Thevenin design table generator module 205 (or by the Thevenin model generator module 207 for embodiments of the invention that omit the Thevenin design table generator module 205).

[0024] Next, in step 303, the Thevenin design table generator module 205 generates tables for designing an osculating Thevenin model of the cell's operating parameters from the provided circuit characteristics. More particularly, the Thevenin design table generator module 205 generates tables that can be used to quickly and efficiently create an osculating Thevenin model of the cell's operation. A conventional timing model for a cell is comprised of a set of tables or equations which give the delay (t_(delay)) and output slew (t_(slewOut)) of the cell as functions of capacitive load and input slew. Thus, in a timing model for a transistor gate G, the gate delay (t_(delay)) and gate output slew (t_(slewOut)) may be defined as:

t _(delay) ^(G)=ƒ₁(C _(L) ,t _(slewin))  (Equation 1)

t _(slewOut) ^(G=ƒ) ₂(C _(L) ,t _(slewin))  (Equation 2)

[0025] Further, delay and slew are conventionally computed, respectively, from the points in time at which the cell's input and output waveforms cross selected voltage thresholds α_(L)V_(DD), α_(D)V_(DD), and α_(H)V_(DD). Typically, α_(L)=0.2, α_(D)=0.5, and α_(H)=0.8. Thus, a conventional timing model will define the gate delay (t_(delay)) and gate output slew (t_(slewOut)) as:

t_(delay) ^(G)≡t_(D)−t_(D) ^(in)  (Equation 3)

t_(slewOut) ^(G)≡t_(H)−t_(L)  (Equation 4)

[0026] where t_(D) is the time at which the cell's output signal value crosses α_(D)V_(DD). t_(L) then is the time at which the cell's output signal value crosses α_(L)V_(DD), while t_(H) is the time at which the cell's output signal value crosses α_(H)V_(DD). It should be noted that the term “slew,” as used herein, is an interval of time and not a rate. More particularly, the term “slew” as used herein refers to the difference between the times at which the output signal value for the cell crosses the values α_(L)V_(DD) and α_(H)V_(DD), respectively. Accordingly, the voltage thresholds (α_(L)V_(DD), α_(D)V_(DD), and α_(H)V_(DD)) that are specified to define both delay and slew are among the circuit characteristics used to create an osculating Thevenin model according to various embodiments of the invention. It should be appreciated that these voltage threshold values may be provided through the input/output terminal 203 on a case-by-case basis. Alternately, one or more of these voltage threshold values may be expressly or inherently provided by the Thevenin design table generator module 205.

[0027] A generic Thevenin model or “template” M(t₀,t_(r),R) employed by various embodiments of the invention may be based upon the model of a resistance R in series with a saturating voltage ramp. With this type of model, the ramp begins at time to and rises to V_(DD) after an additional time t_(r). Thus, the response of the generic Thevenin model M(t₀,t_(r),R) when driving a capacitor C is

v _(C)(t)=V _(DD) v(t−t ₀ , t _(r) , RC)  (Equation 5)

[0028] where $\begin{matrix} {{v\left( {t,t_{t},{RC}} \right)} = \left\{ \begin{matrix} {\frac{t}{t_{r}} - {\frac{RC}{t_{r}}\left( {1 - ^{{- t}/{RC}}} \right)}} & {0 \leq t < t_{r}} \\ {1 - {\frac{RC}{t_{r}}\left( {^{{- {({t - t_{r}})}}/{RC}} - ^{{- t}/{RC}}} \right)}} & {t_{r} \leq t} \end{matrix} \right.} & \left( {{Equation}\quad 6} \right) \end{matrix}$

[0029] While this generic Thevenin model can be used to describe the delay (t_(delay)) and output slew (t_(slewOut)) for a cell, this model alone does not describe the specific operating characteristics of the cell. For example, using a variety of combinations of values for t_(r) and R with this generic model will provide the same output slew (t_(slewOut)), but each combination of values for t_(r) and R will produce different operating characteristics, as graphically illustrated in FIG. 4. More particularly, as seen in this figure, the cell operating characteristics 401 provided by one combination of t_(r) and R values will be different from the operating characteristics 403 and the operating characteristics 405 provided by alternate combinations of t_(r) and R values.

[0030] According to various embodiments of the invention, this conventional generic Thevenin model is used to create an osculating Thevenin model by more accurately osculating the parameters for t₀, t_(r) and R, rather than (or in addition to) interpolating these parameters. The model generation techniques according to various embodiments of the invention may employ the information expressed in Equation 6 to expressly or inherently determine the curves for the values of t_(delay) and t_(slewOut) versus C_(L). From this information, these embodiments of the invention determine the tangents to these curves, which describe the load sensitivities for the cell.

[0031] A circuit model M for a cell can be considered an osculating circuit model at a given operating capacitance C₀ if the model predicts the same delays and slews at C₀ as Equation 1 and Equation 2, i.e., if

t _(delay) ^(M)=ƒ₁(C ₀ ,t _(slewin))  (Equation 7)

t _(slewOut) ^(M)=ƒ₁(C ₀ ,t _(slewin))  (Equation 8)

[0032] and, moreover, the model M replicates one or both of the gate's load sensitivities at C₀ as follows: $\begin{matrix} {\left. {\frac{}{C_{L}}t_{delay}^{M}} \right|_{C_{L} = C_{0}} = {\frac{f_{1}}{C_{L}}\left( {C_{o},t_{slewIn}} \right)}} & \text{(Equation~~9)} \\ {\left. {\frac{}{C_{L}}t_{slewOut}^{M}} \right|_{C_{L} = C_{0}} = {\frac{f_{2}}{C_{L}}\left( {C_{o},t_{slewIn}} \right)}} & \text{(Equation~~10)} \end{matrix}$

[0033] Thus, the osculating model provided by various embodiments of the invention predicts cell timing not just at the given operating capacitance C₀, but also for loads (including non-capacitive loads) near C₀.

[0034] Using the information described in Equation 7, Equation 8, Equation 9, and Equation 10, and the provided cell characteristics, the Thevenin design table generator module 205 generates tables that can be used to quickly and efficiently create a Thevenin model of the cell's operation. More particularly, the Thevenin design table generator module 205 creates tables by using a unit of time that converts the cell's output slew (t_(slewOut) ^(G)) into a fixed numerical value, such as α_(H)−α_(L). It should be noted that, while the use of the value α_(H)−α_(L) is convenient because it is the slew of a ramp when t_(r)=1, still other embodiments of the invention may employ any suitable fixed numerical values.

[0035] The normalization using the fixed numerical value α_(H)−α_(L) is accomplished by dividing all quantities described in Equation 7, Equation 8, Equation 9, and Equation 10 with dimensions of time by $\begin{matrix} {{UnitTime} \equiv \frac{t_{slewOut}^{G}}{\alpha_{H} - \alpha_{L}}} & \text{(Equation~~11)} \end{matrix}$

[0036] For convenience, a normalized quantity will be identified herein with by the placement of a bar over the quantity's symbol. Accordingly, $\begin{matrix} {{\overset{\_}{t}}_{slewOut}^{G} = {\alpha_{H} - \alpha_{L}}} & \text{(Equation~~12)} \end{matrix}$

[0037] Using this normalization process and the information provided in Equation 6 as well as the defined timing thresholds values α_(L), α_(D), α_(H), the Thevenin design table generator module 205 can create the equations

v({overscore (t)} _(L) ,{overscore (t)} _(r) ,{overscore (RC)})=α_(L) v({overscore (t)} _(D) ,{overscore (t)} _(r) ,{overscore (RC)})=α_(D) v({overscore (t)} _(H) ,{overscore (t)} _(r) ,{overscore (RC)})=α_(H)  (Equations 13)

[0038] for the threshold crossing times. Together with the normalization constraint,

{overscore (t)} _(H) −{overscore (t)} _(L)=α_(H)−α_(L)  (Equation 14)

[0039] the Thevenin design table generator module 205 can produce four equations with five unknown values. Further, the Thevenin design table generator module 205 can solve this system of equations for {overscore (t)}_(L), {overscore (t)}_(D), {overscore (t)}_(H) and {overscore (RC)}in terms of {overscore (t)}_(r). Because a cell's delay, output slew and load sensitivities can be computed from {overscore (t)}_(L), {overscore (t)}_(D), {overscore (t)}_(H), {overscore (RC)}and {overscore (t)}_(r), these values can also be regarded as functions of {overscore (t)}_(r), providing the following definitions for a Thevenin design table:

{overscore (RC)}=A ₁({overscore (t)}_(r))

{overscore (t)} _(D) =A ₂({overscore (t)} _(r))

{overscore (RC)}(∂{overscore (t)} _(delay) /{overscore (RC)})=A ₃({overscore (t)} _(r))

{overscore (RC)}(∂{overscore (t)} _(slewOut) /{overscore (RC)})=A ₄({overscore (t)} _(r))  (Equations 15)

[0040] To calculate a set of design tables for a specific cell, the Thevenin design table generator module 205 solves Equations 13 and Equations 14 for {overscore (t)}_(r)=1 as follows: $\begin{matrix} {x = {\begin{bmatrix} {\overset{\_}{t}}_{L} \\ {\overset{\_}{t}}_{D} \\ {\overset{\_}{t}}_{H} \\ \overset{\_}{RC} \end{bmatrix} = \begin{bmatrix} \alpha_{L} \\ \alpha_{D} \\ \alpha_{H} \\ 0 \end{bmatrix}}} & \left( {{Equation}\quad 16} \right) \end{matrix}$

[0041] Subsequently, {overscore (t)}_(r) is replaced with {overscore (t)}_(r)−d{overscore (t)}_(r), and a new vector x then is found by iteratively solving

Mdx=−F  (Equation 17)

[0042] where $\begin{matrix} {{M = \begin{bmatrix} {{\partial v_{L}}/{\partial\overset{\_}{t}}} & 0 & 0 & {{\partial v_{L}}/{\partial\overset{\_}{RC}}} \\ 0 & {{\partial v_{D}}/{\partial\overset{\_}{t}}} & 0 & {{\partial v_{D}}/{\partial\overset{\_}{RC}}} \\ 0 & 0 & {{\partial v_{H}}/{\partial\overset{\_}{t}}} & {{\partial v_{H}}/{\partial\overset{\_}{RC}}} \\ {- 1} & 0 & 1 & 0 \end{bmatrix}}{and}} & \left( {{Equation}\quad 18} \right) \\ {F = \begin{bmatrix} {v_{L} - \alpha_{L}} \\ {v_{D} - \alpha_{D}} \\ {v_{H} - \alpha_{H}} \\ {{\overset{\_}{t}}_{H} - {\overset{\_}{t}}_{L} - \left( {\alpha_{H} - \alpha_{L}} \right)} \end{bmatrix}} & \left( {{Equation}\quad 19} \right) \end{matrix}$

[0043] It should be noted that, with the notation system used herein, the subscript to the character “v” indicates that crossing time at which that quantity is evaluated. For example, ∂v_(L)/∂{overscore (t)}is the partial differential of Equation 6 with respect to time t evaluated at {overscore (t)}={overscore (t)}_(L). M is then the differential of Equations 13 and Equation 14 with {overscore (t)}_(r) fixed, while F is the residual error.

[0044] Using, for example, Newton-Raphson iterations to converge the vector x, the Thevenin design table generator module 205 determines the values of A₁ and A₂ at {overscore (t)}_(r)−d{overscore (t)}_(r) from the second and fourth components of x. The Thevenin design table generator module 205 then calculates the delay and output slew sensitivities, as follows: $\begin{matrix} {{\frac{\partial{\overset{\_}{t}}_{delay}}{\partial\overset{\_}{RC}} = {- \frac{{\partial v_{D}}/{\partial\overset{\_}{RC}}}{{\partial v_{D}}/{\partial\overset{\_}{t}}}}},{\frac{\partial{\overset{\_}{t}}_{slewOut}}{\partial\overset{\_}{RC}} = {\frac{{\partial v_{L}}/{\partial\overset{\_}{RC}}}{{\partial v_{L}}/{\partial\overset{\_}{t}}} - \frac{{\partial v_{H}}/{\partial\overset{\_}{RC}}}{{\partial v_{H}}/{\partial\overset{\_}{t}}}}}} & \left( {{Equations}\quad 20} \right) \end{matrix}$

[0045] where the subscript on the character “v” indicates that crossing time at which the partial differential value of that quantity is evaluated. It also should be appreciated that Equations 20 make use of the identity $\begin{matrix} {{F\left( {x,y} \right)} = {\left. 0\Rightarrow\frac{y}{x} \right. = {{- \left( \frac{\partial F}{\partial y} \right)}/\left( \frac{\partial F}{\partial x} \right)}}} & \left( {{Equation}\quad 21} \right) \end{matrix}$

[0046] From the solution of Equations 20, the Thevenin design table generator module 205 can determine the values of A₃ and A₄. The Thevenin design table generator module 205 then repeats this process for decrementing values of {overscore (t)}_(r), until it determines the design table values for all desired values of {overscore (t)}_(r), in the range of [0,1].

[0047] Referring back to FIG. 3, in step 305 the Thevenin model generator module 207 uses the design tables to generate an osculating Thevenin model of the cell for a given operating capacitance C₀ and the input slew (t_(slewIn)) provided by the input/output terminal 203. The given operating capacitance C₀ may be any desired capacitance, such as the total capacitance to ground for the RC network of the cell. As previously noted, the given operating capacitance C₀ may be provided by the input/output terminal 203. With alternate embodiments of the invention, however, the given operating capacitance C₀ may be expressly or inherently provided by the Thevenin design table generator module 205.

[0048] More particularly, the Thevenin model generator module 207 first interpolates table A₄ to obtain {overscore (t)}_(r) such that $\begin{matrix} {{A_{4}\left( {\overset{\_}{t}}_{r} \right)} = \frac{C_{0}S_{slewOut}^{G}}{UnitTime}} & \left( {{Equation}\quad 22} \right) \end{matrix}$

[0049] It should be noted that, since the value of R is constant but unknown at this point in the calculation, the equivalence $\begin{matrix} {{\overset{\_}{RC}\frac{\partial{\overset{\_}{t}}_{slewOut}}{\partial\overset{\_}{RC}}} = {{\overset{\_}{C}\frac{\partial{\overset{\_}{t}}_{slewOut}}{\partial\overset{\_}{C}}} = {C\frac{\partial{\overset{\_}{t}}_{slewOut}}{\partial C}}}} & \left( {{Equation}\quad 23} \right) \end{matrix}$

[0050] underlies Equation 22.

[0051] Next, the Thevenin model generator module 207 determines the value of t_(r) as

t _(r) ={overscore (t)} _(r)*UnitTime  (Equation 24)

[0052] determines the value R as $\begin{matrix} {R = {\frac{\overset{\_}{RC}}{C_{0}}*{UnitTime}}} & \left( {{Equation}\quad 25} \right) \end{matrix}$

[0053] and determines the value of t₀ as

t ₀ =t _(delay) ^(G) −{overscore (t)} _(D)*UnitTime  (Equation 26)

[0054] where {overscore (RC)}=A₁({overscore (t)}_(r))and {overscore (t)}_(D)=A₂({overscore (t)}_(r)).

[0055] Thus, the Thevenin model generator module 207 generates an osculating Thevenin model of the cell that provides the cell's target delay, output slew (t_(slewOut) ^(G)) and slew sensitivity for the given operating capacitance C₀ and the input slew (t_(slewIn)). Some or all of this information may be provided, for example, to the input/output terminal 203 for review by a designer or tester of the circuit structure. Alternately or additionally, the target delay, output slew (t_(slewOut) ^(G)), slew sensitivity or some combination thereof may be automatically provided to another device, such as an automatic testing device or to a design checking device.

[0056] Determination of Effective Capacitance

[0057] As previously noted, various embodiments of the invention may optionally include an effective capacitance determination module 209 as illustrated in FIG. 2. With these embodiments, this optional effective capacitance determination module 209 may additionally determine the effective capacitance C_(eff) of the cell in step 307. As previously noted, the Thevenin model generator module 207 generates an osculating Thevenin model of the cell that provides the cell's target delay, output slew (t_(slewOut) ^(G)) and slew sensitivity for the given operating capacitance C₀ and the input slew (t_(slewIn)). Thus, the cell delay set forth in this model t_(delay) ^(M)(C₀) is the actual cell delay (i.e., the same as the model's (M) delay, by construction) when loaded by C₀.

[0058] Using this model, the effective capacitance determination module 209 simulates driving the RC network of the cell to obtain delay (t_(delay) ^(M)(RC)). This delay can be efficiently determined since both M and the RC network are linear circuits. With various embodiments of the invention, for example, the effective capacitance determination module 209 may compute the pole/residue representation of the RC network (including the resistor for the model), express its ramp response analytically, and then find threshold crossings times by Newton-Raphson iterations. Of course, those of ordinary skill in the art will appreciate that still other techniques for simulating driving the RC network of the cell may be employed according to alternate embodiments of the invention.

[0059] Once the delay (t_(delay) ^(M)(RC)) is determined, the effective capacitance determination module 209 estimates C_(eff) from the following equation:

t_(delay) ^(M)(RC)−t_(delay) ^(M)(C₀)≈S_(delay) ^(M)*(C_(eff)−C₀)  (Equation 27)

[0060] where

S _(delay) ^(M) ≡∂t _(delay) ^(M) /∂C=A ₃({overscore (t)} _(r))/C ₀  (Equation 28)

[0061] If the C_(eff)≈C₀ and t_(delay) ^(M)(RC)≈t_(delay) ^(M)(C_(eff)), where Ceff is the estimated value of the actual effective capacitance C_(eff), then the effective capacitance determination module 209 determines that the effective capacitance C_(eff) of the cell is approximately equal to the original given operating capacitance C₀. If however, these conditions are not true, then the effective capacitance determination module 209 sets a new given operating capacitance C₀ to be equal to the estimated effective capacitance C_(eff). These steps then are repeated until the above-described conditions are met, thereby providing the actual effective capacitance C_(eff) for the cell. More particularly, the effective capacitance determination module 209 provides the new given operating capacitance C₀ to the Thevenin model generator module 207, which in turn generates a new osculating Thevenin model of the cell for the new given operating capacitance C₀. The effective capacitance determination module 209 then repeats the process of estimating the effective capacitance C_(eff) for the cell and subsequently determining if C_(eff)≈C₀ and t_(delay) ^(M)(RC)≈t_(delay) ^(M)(C_(eff)) Typically, however, the osculating Thevenin models provided by various embodiments of the invention are so powerful that suitable results are provided without repeating these steps. Further, repeating these steps usually converges to provide the actual effective capacitance C_(eff) for the cell in two or three cycles even with very stringent convergence tolerances.

[0062] While particular embodiments of the invention have been described, it should be appreciated that various alternate embodiments of the invention also may be employed. For example, some embodiments of the invention may omit the use of both the Thevenin design table generator module 205 and the Thevenin design tables. Instead, the Thevenin model generator module 207 may generate an osculating Thevenin model of the cell directly from solving Equation 7, Equation 8, Equation 9 and Equation 10, using, for example, numerical methods. It also should be appreciated that other types of models, including different types of Thevenin models, may be employed by various embodiments of the invention. For example, rather than employing the Thevenin model described in Equation 6, some embodiments of the invention may alternately employ a model with an exponential or piecewise linear ramp.

[0063] Models For Use with Inductive and Magnetically Coupled Loads

[0064] Also, while the embodiments described above are directed to determining the timing for a cell with an RC load, it should be appreciated that still other embodiments of the invention may determine the timing for cells having inductive and magnetically coupled loads in the same manner. More particularly, these alternate embodiments of the invention would include a Thevenin design table generator module 205 or a Thevenin model generator module 207 that employs a Thevenin model template equations and their derivates which describe the operation of a circuit based upon inductive loading or magnetically-coupled loading, rather than employing Equation 7, Equation 8, Equation 9 and Equation 10 described above.

[0065] Similarly, these embodiments of the invention may then be used to calculate the effective inductive load or magnetically-coupled load, respectively. For example, embodiments of the invention that determine the circuit characteristics for an inductively loaded cell may include an effective inductance determination module for determining the effective inductance for the cell, in a manner corresponding to that described above for determining the effective capacitance of a capacitively loaded cell. Likewise, embodiments of the invention that determine the circuit characteristics for a cell with a magnetically-coupled load may include an effective magnetic coupling determination module for determining the effective magnetic coupling for the cell, in a manner corresponding to that described above for determining the effective capacitance of a capacitively loaded cell

[0066] Conclusion

[0067] While the invention has been described with respect to specific examples including presently preferred modes of carrying out the invention, those skilled in the art will appreciate that there are numerous variations and permutations of the above described systems and techniques that fall within the spirit and scope of the invention as set forth in the appended claims. 

What is claimed is:
 1. A method of predicting operating characteristics of a circuit structure, comprising: obtaining characteristics of a circuit structure; determining parameters of a general model of the circuit structure such that the general model matches one or more of the obtained circuit characteristics at one or more points, and a slope of the general model at the one or more points corresponds to one or more of the obtained circuit characteristics; employing the determining parameters to generate an osculating model of the circuit structure; and using the osculating model to predict the operating characteristics of the circuit structure.
 2. The method recited in claim 1, wherein the general model is a model of a circuit structure selected from the group consisting of: a circuit structure with a capacitive load, a circuit structure with an inductive load, and a circuit structure with a magnetically-coupled load.
 3. The method recited in claim 1, wherein the general model is a model of a circuit structure with a capacitive load, and the predicted operating characteristics include timing characteristics.
 4. The method recited in claim 3, wherein the timing characteristics include delay and output slew, and the input characteristics include an input slew, threshold values by which the output slew is defined, and a capacitance value for the circuit structure.
 5. The method recited in claim 4, wherein the capacitance value is an effective capacitance for the circuit structure.
 6. The method recited in claim 4, wherein the capacitance value is a selected operating capacitance.
 7. The method recited in claim 6, further comprising employing the osculating model to determine an effective capacitance of the circuit structure.
 8. The method recited in claim 1, further comprising: employing the determining parameters to create a table of values for an osculating model, and generating an osculating model of the circuit structure from the table of values.
 9. The method recited in claim 1, wherein the general model and the osculating model are Thevenin models.
 10. The method recited in claim 9, wherein the general model and the osculating model describe an exponential or piecewise linear ramp.
 11. A tool for predicting operating characteristics of a circuit structure, comprising: an input terminal for provided input characteristics of a circuit structure; a model generator module that employs determined parameters to generate an osculating model of the circuit structure, the determined parameters being such that a general model of the circuit structure employing the determined parameters matches one or more of the obtained circuit characteristics at one or more points, and a slope of the general model at the one or more points corresponds to one or more of the obtained circuit characteristics.
 12. The tool recited in claim 11, further comprising a design table generator module that determines parameters of a general model of the circuit structure such that the general model matches one or more of the obtained circuit characteristics at one or more points, and a slope of the general model at the one or more points corresponds to one or more of the obtained circuit characteristics; and employs the determined parameters to construct tables for generating the osculating model.
 13. The tool recited in claim 12, wherein the model generator module employs the tables to generate the osculating model.
 14. The tool recited in claim 11, wherein the model generator module determines parameters of a general model of the circuit structure such that the general model matches one or more of the obtained circuit characteristics at one or more points, and a slope of the general model at the one or more points corresponds to one or more of the obtained circuit characteristics.
 15. The tool recited in claim 11, further comprising an effective load determination module for determining an effective load of the circuit structure using the osculating model.
 16. The tool recited in claim 15, wherein the effective load determination module determines an effective capacitance of the circuit structure.
 17. The tool recited in claim 11, wherein the general model and the osculating model are Thevenin models.
 18. The tool recited in claim 17, wherein the general model and the osculating model describe an exponential or piecewise linear ramp. 